Upon transmitting and recording an analog signal, such as an aural signal and a picture signal, various kinds of methods of encoding the analog signal to a digital signal which is seldom deteriorated are suggested. Moreover, as to these encoding methods, encoding methods which do not directly transmit or record a digital signal but which is capable of compressing a quantity of data to a fraction of the quantity to a several tenth of the quantity are suggested in order to reduce a transmission time and a memory quantity.
One typical example of the above encoding methods is the vector quantization method. In this vector quantization method, a K-dimensional input vector x, in which signal levels obtained by successively sampling analog signals to be encoded with a prescribed sampling period are vector components xk, is created first. Here, k represents the number of the vector components, and k=1 , 2, . . . , K.
Meanwhile, after plural kinds of sounds or images for learning are previously prepared, vectors, which are learned from the vectors obtained for the aural or picture signal for learning in the above manner are codewords ci, and a code book b composed of the codewords ci corresponding to each signal is cataloged. Here, i=1, 2, . . . , M, and i which represents an identification number is referred to as an index.
In each codeword ci in the cataloged code book b, a codeword cI which is closest to the input vector x is obtained, and only the index I of the codeword cI is transmitted or recorded.
Namely, the codeword cI for obtaining the minimum value of the following equation: ##EQU1## is determined and its index I is transmitted or recorded.
As a result, a quantity of data becomes log.sub.2 M (bit/1 vector). Therefore, in the picture signal, for example, if 256(=M) codewords are cataloged in the code book b in a processing unit block of K=6.times.6=36 pixels, 256=2.sup.8, so data quantity becomes 8/36=0.22 (bit/pixel). As a result, the data quantity can be reduced to 1/36 compared with the case where scalar quantization of 8 bits is performed per pixel.
As an encoding method for compressing a quantity of data which is attained by further developing the abovementioned vector quantization method, a normalized vector quantization (also referred to as gain/shape vector quantization) method is given. In this normalized vector quantization method, each codeword Ci in the code book B has size 1, namely: EQU .vertline.Ci.vertline.=(Ci,Ci).sup.1/2 =1 (2)
The codeword CI is obtained so that an absolute value of a scalar product: ##EQU2## of the input vector x and each codeword Ci becomes maximum, and the input vector x is made an approximation with (x, CI).multidot.CI, and (x, CI) is scalar-quantized. This is because the following reason.
When A is the scalar amount, according to .vertline.Ci.vertline..sup.2 =1, the following equation is obtained: ##EQU3## In the above equation, the relationship between .vertline.x.vertline..sup.2 of the second term and (x, Ci).sup.2 of the third term on the right side becomes .vertline.(x, Ci).vertline..sup.2 .ltoreq..vertline.x.sup.2. Therefore, the codeword Ci is the codeword CI which maximizes the absolute value .vertline.(x, Ci).vertline. of the scalar product, and when A=(x, Ci) is fulfilled, the value of the left side becomes minimum, so (x, CI).multidot.CI is the vector which is the closest to the input vector x.
In such a manner, the code book B which is required for a compression side and an extension side can be made small, namely, the number of cataloged codewords M can be reduced.
In addition, in order to make it possible to reduce the number of cataloged codewords M, the mean-separated normalized vector quantization (also referred to as differential normalized vector quantization or mean/gain/shape vector quantization) method, which is attained by further developing the normalized vector quantization method, is suggested. In the mean-separated normalized vector quantization method, first, a mean value .mu. of each component in the input vector x is obtained according to the following equation: ##EQU4##
Next, a differential component vector X=(X1, X2, . . . , XK) is obtained by subtracting the mean value .mu. from the input vector xaccording to the following equation: EQU X=x-.mu..multidot.U (6)
in which U is a vector composed of (1, 1, . . . , 1).
Then, in the codeword Ci of the unit length in the code book B used in the normalized vector quantization method, the codeword CI, which maximizes the absolute value .vertline.(X, Ci).vertline. of a scalar product, is obtained. The mean value .mu. and the scalar product value P having the maximum absolute value obtained in such a manner are scalar-quantized, and the index I is binarized so that compressed codes are created and they are transmitted or recorded.
It is learned that since a mean value of the differential vector X obtained by subtracting the mean value .mu. becomes zero, the mean value of each codeword CI becomes zero accordingly. As a result, the following relationship is satisfied: ##EQU5## so the calculation of subtracting a mean value is not required.
According to the compressed codes which have been transmitted or reproduced, an extension unit decodes an output vector xout as follows: EQU xout=Pa.multidot.CI+.mu.a.multidot.U (7)
Pa represents the scalar-quantized maximum scalar product absolute value P, and .mu.a represents quantized central values of the mean value .mu..
As mentioned above, in any vector quantization methods, calculation of the scalar product value and the determination process of the maximum scalar product value are required. Conventionally, as disclosed in Japanese Unexamined Patent Publication No. 62-183284/1987 (Tokukaisho 62-183284), for example, such calculation and determination process are performed by a microprocessor after an analog signal is sampled with a predetermined period so as to be converted into a digital signal.
Therefore, when the sampling frequency, the number of gradation of the signal level, the number of codewords, etc. are increased, an amount of the calculation to be performed by the microprocessor is greatly increased. For example, when the number of codewords is M and the number of dimensions of the vector components in each codeword and the input vector is K, it is necessary to calculate sum of products M.times.K times in the calculation of the scalar product value.
Therefore, when a multiplier is arranged so that the above calculations are made, there arises a problem that a circuit of the microprocessor becomes large-sized. Moreover, in the case where a picture signal is treated, high-speed operation is required, so power consumption is increased. Furthermore, since not only the microprocessor but also an analog/digital converter are required, a circuit around the microprocessor also becomes large-sized. Moreover, when a signal of dozens MHz, such as the picture signal, is treated, there arises a problem that the power consumption of the analog/digital converter is increased.